Method and device for receiving and providing programs

ABSTRACT

A method for providing programs, the method includes: (i) providing a program multiplex to multiple users device; (ii) considering a removal of at least one program from the multiplex in response to program viewing parameters; (iii) allowing at least one user to respond to a possible removal of the program; and (iv) determining whether to remove the al least one program in response to received user removal responses. A user device that includes a transceiver unit that is connected to a controller, wherein the device is adapted to receive a program multiplex, to receive an indication that at least one program is to be removed from the multiplex, and to selectively transmit a program removal response.

RELATED CASES

This patent is a Continuation of U.S. patent application Ser. No.13/591,015, entitled “Method and Device for Receiving and ProvidingPrograms,” filed Aug. 21, 2012, which is a continuation of U.S. patentapplication Ser. No. 11/200,754, entitled “Method and Device forReceiving and Providing Programs,” filed on Aug. 9, 2005, and issued onAug. 21, 2012 as U.S. Pat. No. 8,249,114, which patent claims priorityas a non-provisional of U.S. Provisional Patent Application Ser. No.60/600,473 filed on Aug. 10, 2004, and also claims priority as anon-provisional of U.S. Provisional Patent Application Ser. No.60/662,844, filed on Mar. 18, 2005, entitled “Switched BroadcastImplementation,” the entire disclosures of each of these applicationsare hereby incorporated by reference in their entirety.

FIELD OF THE INVENTION

The present invention relates to communication systems and especially tomethods and systems for providing programs and for receiving programs.

BACKGROUND OF THE INVENTION

The number of television channels (programs) has dramatically increasedduring the last decade. In addition, various technologies such as highdefinition television require larger amounts of bandwidth.

In order to provide many programs to multiple user devices varioustechniques such as statistical multiplexing and various compressionschemes (such as but not limited to the MPEG compression standards) weredeveloped. These techniques can improve the bandwidth utilization ofexisting infrastructure. Nevertheless, even when these techniques areimplemented the number of programs that can be provided to users isrelatively limited.

The following patents and patent applications, all being incorporatedherein by reference, illustrate some prior art methods and devices forproviding multiple programs to users: U.S. Pat. No. 6,597,670 of Tweedyet al., titled “Method and system for distributing subscriber servicesusing wireless bidirectional broadband loops”; U.S. patent applicationpublication Ser. No. 2005/0033342 of Rosetti et al., titled “Techniquefor providing a virtual digital video recorder service through acommunication network”; U.S. patent application Ser. No. 2005/0120377 ofCarlucci et al., titled “Technique for effectively providing variousentertainment services thorough a communication network”; PCT patentapplication WO2005/008419 of Compton el al., titled “Distributed andscalable architecture for on demand session and resource management”;PCT patent application publication number WO2005/022796 of Krause etal., titled “Advanced, adaptive video multiplexing system”; PCT patentapplication publication number WO2005/022892 of Krause et al., titled“Video multiplexer system providing low-latency VCR-like effects andprogram changes” and U.S. Pat. No. 6,718,552 of Goode “network bandwidthoptimization by dynamic channel allocation”.

There is a need to provide efficient methods and devices for providingprograms to multiple users and for receiving programs by users.

SUMMARY OF THE PRESENT INVENTION

A user device that includes a transceiver unit that is connected to acontroller, wherein the device is adapted to: (i) receive a programmultiplex, (ii) receive an indication that at least one program is to beremoved from the multiplex; and (iii) selectively transmit a programremoval response.

A device that is adapted to provide a program multiplex, the deviceincludes: (i) a media processor adapted to generate a program multiplex;and (ii) a management unit, connected to the media processor, adapted to(a) consider a removal of at least one program from the multiplex inresponse to program viewing parameters, and (b) determine the removal inresponse to at least one received user program removal response.

A method for receiving programs that includes: (i) receiving a programmultiplex; receiving a program removal indication; and (ii) selectivelytransmitting a program removal response.

A method for providing programs, the method includes: (i) providing aprogram multiplex to multiple user devices; (ii) considering a removalof at least one program from the multiplex in response to programviewing parameters; (iii) allowing at least one user to respond to apossible removal of the at least one program; and (iv) determiningwhether to remove the at least one program in response to received userremoval responses.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention will be understood and appreciated more fully fromthe following detailed description taken in conjunction with thedrawings in which:

FIG. 1 illustrates a headend and a hub according to an embodiment of theinvention;

FIG. 2 illustrates a headend and a hub according to another embodimentof the invention;

FIG. 3 illustrates a user device according to an embodiment of theinvention;

FIG. 4 illustrates a cable network according to an embodiment of theinvention;

FIG. 5 illustrates a cable network according to another embodiment ofthe invention;

FIG. 6 illustrates various programs and signals exchanged over a cablenetwork according to an embodiment of the invention;

FIG. 7 illustrates a content information table according to anembodiment of the invention;

FIG. 8 illustrates differential content information message according toan embodiment of the invention;

FIG. 9 illustrates a program viewing table according to an embodiment ofthe invention;

FIG. 10 illustrates a delay unit and a timing diagram according to anembodiment of the invention;

FIG. 11 illustrates various group of pictures, according to anembodiment of the invention;

FIG. 12 illustrates a method for providing programs, according to anembodiment of the invention; and

FIG. 13 illustrates a method for receiving programs, according to anembodiment of the invention.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

The disclosed technique is directed to a broadband network, which can beeither wired or wireless, such as an HFC network, a DSL network,satellite communication and the like.

It is further noted that the description relates to MPEG (and especiallyMPEG2) compliant programs and components, but the invention isapplicable to other types of media unit decoding and/or compressionschemes as well. It is further noted that the media streams are alsoreferred to as programs, although this is not necessarily so and theinvention can be applied to media streams that are not programs.

According to an embodiment of the invention a device is provided. Thedevice is adapted to provide a program multiplex. The device includes amedia processor and a management unit. The media processor is adapted togenerate a program multiplex. The management unit is adapted to considera removal of at least one program from the multiplex (for example inresponse to program viewing parameters) and determine whether to removethe program in response to at least one user program removal response orin response to an absence of such response. This device can be includedwithin a headend, within a hub, within a node, partially within eitherone of the hub, headend and node, and the like.

The program removal response can include a removal approval, anobjection to the removal, a parameter that can reflect the amount ofacceptance/rejection to the removal, a request to delay the removal, andthe like. The requested delay period can be included within theresponse.

According to an embodiment of the invention a user device is provided.It includes a transceiver unit that is connected to a controller. Thisdevice is adapted to receive a program multiplex, receive an indicationthat at least one program is to be removed from the multiplex; andselectively transmit a program removal response.

FIG. 1 illustrates a headend 20 and a hub 40 according to an embodimentof the invention.

The headend 20 and hub 40 are connected to each other via a headend tohub network 30. It is noted that other configurations can be provided,including a unified hub and headend configuration.

The hub 40 is connected to multiple user devices via hub to user devicenetwork 31. This network 31 is usually a hybrid fiber coax (HFC)network, but this is not necessarily so.

Headend 20 can receive media content from various sources such as videoon demand server 92, and satellite dishes 93, 93′ and 93″. The headend20 includes a media processor 21 that can process programs in variousmanners, including rate-shaping, performing PID re-mapping, generatingdelayed versions of a program, duplicating programs, performingstatistical multiplexing, compressing, encrypting and the like.

An exemplary broadband media router that has such media processingcapabilities is described in U.S. Pat. No. 6,434,141 of Oz et al., whichis incorporated herein by reference. An exemplary method and device forgenerating delayed version of programs is described in U.S. Pat. No.6,813,270 of Oz et al., which is also incorporated herein by reference.

The headend transmits a headend multiplex (such as M0 of FIG. 4) to thehubs. Each hub transmits a hub multiplex (such as multiplexes M1-M3 ofFIG. 4) to multiple user devices. Typically, user devices that receivethe same multiplex are referred to as a user devices group.

The media processor 21 is controlled by a headend management unit 26that may determine which media processing operations to apply and alsodetermine which programs should be included within the headend and hubmultiplexes.

Usually, headend 20 is connected to multiple hubs (for example hubs 40,40′ and 40″ of FIG. 4, nodes 41 and 43 of FIG. 5), and is capable ofproviding to each hub a different program multiplex. It is noted thatthe amount of hubs can differ from three.

Alternatively, each hub can receive a headend multiplex of programs andselect the programs to be included within the hub multiplex of programs.Typically, the bandwidth of the headend to hub network 30 is much largerthan the bandwidth of the hub to user network 31, thus the headendmultiplex can include much more programs than the hub multiplex.

The headend management unit 26 can perform additional tasks such asbilling related tasks, and the like.

Headend 20 also includes a transport system 24 that is adapted toreceive one or more program multiplexes from media processor 21 and toprocess it such as to comply to format conveyed over headend to hubnetwork 30. This processing may include fragmentation, aggregation,packet encapsulation, and the like.

The headend management unit 26 is usually adapted to perform resourceallocation. The resource allocation determines the resources (includingcomponent, frequency, bandwidth, port and the like) that are allocatedfor a certain task (such as a transmission of a program). The headendmanagement unit 26 can determine which programs to include within eachmultiplex, when to send program removal information and how to responseto received program removal responses that are transmitted by userdevices.

According to another embodiment of the invention the resource managementis performed, at least partially, by management units located within thehubs and/or nodes.

According to an embodiment of the invention headend 20 can determinewhich programs to include within each program multiplex based uponvarious parameters, including user viewing patterns, viewing statisticsand the like.

The programs can be classified to various groups that differ from eachother by the probability removal from the multiplex. As a rule of thumbprograms that are viewed by a very large number of the viewers can beremoved only in rare occasions, while programs that rarely viewed can beprovided to users only upon request. It is noted that the programs canbe classified to two types—“static” and “switched”, but this is notnecessarily so and more than two groups can be defined.

It is further noted that the content of a certain multiplex can beresponsive to current viewing statistics, to previous viewing patterns,to expected viewing patterns, and/or to predefined criteria. Such acriteria can be responsive to a transmission priority of a program.

FIG. 2 illustrates headend 20′ and hub 40′ according to anotherembodiment of the invention.

Headend 20′ is connected, via headend to hub network 30 to hub 40′. Hub40′ is connected to multiple user devices via hub to user device network31. Typically, multiple hubs and/or nodes are connected to a singleheadend, but for simplicity of explanation a single hub and a singleheadend are illustrated.

Hub 40′ may exchange data, programs and control signals with multipleuser devices. The main path for providing downstream signals from thehub to the user devices is also termed in-band, while the auxiliary pathfor providing upstream and downstream information is also referred toout-of-band path.

Conveniently, programs, data and control signals (including for example,content information) are transmitted via the in-band path while data andcontrol signals (including for example, active messages and programremoval response) are transmitted via the out-of-band path.

Hub 40′ includes a hub management unit 54, in-band transmit/receivemodule (denoted “In-band RX/TX module”) 44 and out-of-bandtransmit/receive module (denoted “Out-of-band RX/TX module”) 46. The hubmanagement unit 54 controls modules 44 and 46 and determines, eitheralone or by cooperating with the headend 20′ which programs should beincluded with a program multiplex. The hub management unit 54 can alsodefine modulation characteristics, control the provision of localcontent, calculate user viewing patterns and statistics, and the like.

FIG. 3 illustrates a user device 60, according to an embodiment of theinvention.

Device 60 can be a set top box or another computerized entity. It isconnected to a display, such as television 69 and can receiveinstructions from a remote control, via interface 68. Thus, instructionssuch as change program instructions, alter picture or sound relatedinstructions, as well as signals exchanged during interactive sessionsare received by interface 65 and sent to controller 63.

The analysis of these signals can indicate if a user views the receivedprograms. The analysis can be responsive to the length of viewedprograms, and/or to viewing patterns of the viewers. The interface 65can also receive signals sent to the television, thus provide additionalindication about the viewing related activities of the user.

User device 60 also includes a transceiver unit (denoted RX/TX unit) 61that is adapted to receive and transmit signals, such as radio frequencysignals, over a hub to user device network 31. Unit 61 usually includesa tuner, a modulator, a de-modulator and a transmitter. It is controlledby controller 63 that can set various reception and/or transmissionparameters such as tuner frequency, modulation and demodulation schemesand the like.

The transceiver unit 61 is connected to parser 62 that can selectivelyprovide data and control signals to controller 63 while sending programsto decoder 64. Decoder 64 is connected to television 69.

FIG. 4 illustrates a cable network 90 according to an embodiment of theinvention.

Network 90 includes headend 20 that is connected to multiple contentproviders such as Video On Demand (VOD) servers 94 and 96 and satellitedish 92. It is noted that the amount of content providers as well astheir type can differ from those illustrated in FIG. 4.

Headend 20 is connected, via headend to hubs network 31 to three hubs40, 40′ and 40″. It is noted that it can be connected to different hubsvia different networks, that more than three hubs can be connected toheadend 20 and that network 90 can include additional intermediatedevices, such as nodes.

Each hub (40, 40′ and 40″) is connected to multiple user devices via ahub to user devices network such as HFC networks 70,70′ and 70″.

Each hub can be connected to a large number of user devices. Many HFCnetworks are connected to hundreds of user devices and even to more thanone thousand user devices. For simplicity of explanation only nine userdevices are illustrated as being connected to each hub. For example,user devices STB 80(1)-STB 80(9) are connected to hub 40, user devicesSTB 80(1)′-STB 80(9)′ are connected to hub 40′, and user devices STB80(1)″-STB 80(9)″ are connected to hub 40″.

Each network out of HFC networks 70, 70′ and 70″ can supply to the userdevices a different program multiplex. Hub 40 provides hub multiplex M1,Hub 40′ provides hub multiplex M2 and hub 40″ provides hub multiplex M3.Headend 20 sends headend multiplex M0 to the three hubs.

Conveniently, M0 can include all the content of M1, M2 and M3, althougheach hub can insert local content to the hub multiplex. Conveniently, M0includes all the programs that are included within M1-M3.

Conveniently, headend 20 determines which program to remove from themultiplex M0, which program to add, when to send program removalindications, how to respond to program removal responses, to thereception or lack of receptions of active messages, and the like. It isnoted that this is not necessarily so and other components (such ashubs) can perform some or all of these decisions, or participate (alongwith the headend or another component) in such a decision.

FIG. 5 illustrates a cable network 91 according to another embodiment ofthe invention.

Cable network 91 includes a first headend 20 and a second headend 21.The first headend 20 receives programs from satellite dishes 92, 92′,and 92″. The second headend 21 receives programs from satellite dishes93, 93′ and 93″, as well as from VOD server 92.

First headend 20 is connected to first node 41 via backboneinfrastructure 84. The backbone infrastructure 84 includes multiplebackbone routers 82. Second headend 21 is connected to second node 43via backbone infrastructure 84. First node 41 is connected to multipleuser devices 80(1)″-80(9)″ via HFC network 70″. Second node 43 isconnected to multiple user devices 80(1)-80(9) via HFC network 70.

The first headend 20 can determine which programs to remove (or add to)from the hub multiplex that is sent over HFC network 70″ while thesecond headend 21 can determine which programs to add to (or removefrom) the hub multiplex that is sent over HFC network 70.

Redundancy can be provided by supplying the same programs from multiplebackbone routers 82. In such a case first headend 20 can send streamremoval indications and receive program removal responses from userdevices that are connected to HFC network 70 as well as those that areconnected to HFC network 70″. According to another embodiment of theinvention the first headend 20 can send program removal indicationsand/or receive program removal responses and/or respond to programremoval responses from user devices 80(1)″-80(9)″.

FIG. 6 illustrates various programs and signals exchanged over a cablenetwork according to an embodiment of the invention.

It is assumed that the illustrated programs belong to M1. Between T0 andT3 M1 includes K programs 101-109. K is a positive integer that isusually greater then fifty.

Before T1 or at T1 headend 20 considers the removal of second program102 and to replace it by program R 110. The decision can be responsiveto various parameters, including lack of interest in the second program102, a request to view program R 110, an expectation that program R 110will be requested, bandwidth constraints, and the like.

At T1 headend 20 sends to user devices 80(1)-80(9) a program removalindication (illustrated as flag 121) that indicates that headend 20considers to remove second program 102. Headend 20 waits to receive astream removal response during a predefined waiting period.

At T2, in response to received responses (or to an absence of suchresponses) headend 20 decides to replace the second program 102 byprogram R 110.

According to an embodiment of the invention the program removalindication can also include the time of the removal.

Headend 20 sends at T3 a differential content information message 131that indicates that the second program 102 was replaced by program R110.

At T3 the second program 102 is replaced by program R 110 and M1includes the first program 101, program R, and third to K'th programs103-109. M1 remains the same until T6.

Before T4 or at T4 headend 20 considers the removal of the fourth andfifth programs 104 and 105 and the inclusion of one or more programs,such as program Q 111 within M1. The decision can be responsive tovarious parameters, including lack of interest in the fourth and fifthprograms 104 and 105, a request to view various programs includingprogram Q 111, an expectation that program Q 111 will be requested,bandwidth constraints, and the like.

At T4 headend 20 sends to user devices 80(1)-80(9) a program removalindication (illustrated as flag 122) that indicates that headend 20considers to remove fourth and fifth programs 104 and 105.

Headend 20 waits to receive a stream removal response. At T5, inresponse to received responses (or to an absence of such responses)headend 20 decides to replace the fifth program 105 by program Q 111 butto continue to transmit the fourth program 104.

Headend 20 sends at T6 differential content information message 132 thatindicates that the fifth program 105 is being replaced by program Q 111.

At T6 the fifth program 105 is replaced by program Q 111 and M1 includesthe first program 101, program R, third and fourth programs, program T,and the sixth to the K'th programs 101, 110, 103, 104, 111, 106-109.

Headend 20 transmits content information messages or differentialcontent information messages that can assist the user devices toseamlessly switch between programs. A user device will send a request toreceive a certain program if that program is not included within the hubmultiplex that is provided to the user device. The content informationcan include various information such as carrier frequency and modulationthat can assist the user device to switch between programs.Conveniently, the user device sends an indication when is switches toanother program, even if that program, belongs to the receivedmultiplex. This enables the headend to track the viewing patters of theusers. According to another embodiment of the invention the indicationis not sent if the program is defined as a static program.

In order to reduce bandwidth the content information can be sent in adifferential manner. Differential content information messages canindicate differences between a previously transmitted program multiplexand a currently transmitted program multiplex.

According to another embodiment of the invention the headend 20 candetermine whether to send content information messages or differentialcontent information messages. The determination can be responsive to theamount of changes between the pervious and current program multiplexes.For example, if more than half of the programs are replacedsimultaneously then the content information messages can be smaller thanthe differential content information messages.

FIG. 7 illustrates a content information table 200 according to anembodiment of the invention. Content information table 200 includes alist of programs that are included within the program multiplex as wellas multiple associated parameters. These parameters can include, forexample, the program name, tuning frequency, modulation type, programidentification field (such as an MPEG compliant PID), and program type(switched, static, and the like).

FIG. 8 illustrates a differential content information message 131according to an embodiment of the invention. Differential contentinformation message 131 is transmitted at T3 and indicates that thesecond program 102 is removed (program type is ‘REMOVED’) and thatprogram R 110 is provided. The parameters of program R 110 are includedwithin the differential content information message 131.

The content information can also determine the type of program—forexample whether the program is static or switched. In the former casethe user devices knows that the program will not be replaced, and thuscan ignore program removal information if it is tuned to than program.

According to an embodiment of the invention headend 20 can receive userviewing indications about users viewing related operations (gathered bythe user device) and try to estimate the viewing patterns of the userand/or generate viewing statistics. The statistics and/or viewingpatterns can be used by headend 20 to decide which programs to removefrom a program multiplex and which program to add to the programmultiplex.

FIG. 9 illustrates a program viewing table 230 according to anembodiment of the invention. Table 230 includes four columns 232-238.The first column 232 includes the names of the programs, the secondcolumn includes the amount of users that are viewing the program (or atleast an estimate of their number), the identity of user devices thatare tuned to receive each programs and user viewing information thatreflects the operations that are received by interface 65. Table 230illustrates that if the number of viewers exceeds a certain thresholdthen the user viewing information is irrelevant.

According to an embodiment of the invention the switching betweenprograms can be speeded up by generating multiple time-shifted versionsof a program and providing a single version that includes anindependently decodable frame (or picture) that follows the switchingpoint by the shortest period, in relation to corresponding independentlydecodable frames of other versions of the program.

FIG. 10 illustrates delay unit 250 and a timing diagram 113 according toan embodiment of the invention.

The delay unit 250 is conveniently included within media processor 210.It receives a program and generated multiple time-shifted versions ofthat program. The program can be provided to the delay unit 250 near anexpected addition of that program to the multiplex. A program should beadded at a frame that can be independently decodable, such as anI-frame. Typically, various frame types (including P-frames andB-frames) are transmitted at group of pictures that are also referred toas GOPs. A GOP starts with an I-frame.

Once the headend decides to add a program (usually as a result from arequest to view that program), the switching (or adding) period can beshortened by providing a program that includes a I-frame that followsthe decision moment and is relatively close to that decision moment.This can be facilitated by generating multiple time-shifted versions ofa certain program, and selecting one version in response to timedifference between the decision moment and the occurrence of an I-frame.

For example, delay unit 250 receives program R 110 and outputs program R110, and three time-shifted versions referred to as D1 delayed programR′ 110′, D2 delayed program R″ 110″ and D3 delayed program R′″ 110′″.Timing diagram illustrates a single GOP (GOP 113, GOP 113′, GOP 113″ andGOP 113′″) from each of these programs.

One of the delayed programs (or even the original program) should beadded to the multiplex shortly after T3. GOP 113″ (and accordinglytime-shifted program 111″) is selected it includes the I frame that isclosets (and follows) to T3.

According to an embodiment of the invention the headend (or hub) speedsthe switching process by changing the type of one or more frame (B frameor P frame) to an independently decoded frame. For example, a B-framecan replaced by a P frame. GOP 111″ is modified (to provide a modifiedGOP 111*), prior to the switching point (at T3) by replacing a P framethat follows T3 by an I frame. Modified GOP 111* is followed by GOP112″.

FIG. 12 illustrates method 300 for providing programs, according to anembodiment of the invention.

Method 300 starts by stages 310 and 320. Stage 310 includes providing aprogram multiplex to multiple users device.

Stage 320 includes generating content information representative of theprograms that are included within the multiplex. This information issent to the users. Conveniently, the content information includesprogram frequency, program identification information, programmodulation information, and the like.

According to an embodiment of the invention instead of sending contentinformation representative of the whole content of the multiplex, onlydifferential content information messages are transmitted. Differentialcontent information represents changes between a previous content of themultiplex and a current content of the multiplex.

According to yet another embodiment of the invention each user out of agroup of multiple users is associated with unique program parameters.Thus, each device that is connected to a certain HFC network has adedicated combination of carrier frequency and PID and the headendswitches between programs provided to this user device by changing theparameters (ND, carrier frequency) of the program. In this case theheadend (or hub) should be capable of performing program duplication (incase that multiple users request to receive the same program), andPID-remapping. In such a case only the programs that are currentlyviewed by the users are included within the multiplex.

Conveniently, the headend 20 sends to the hubs a multiplex (such as M0)that is then split to different multiplexes (M1-M3) that are provides bydifferent hubs to different HTC networks. In such a case thecharacteristics (for example PID and carrier frequency) of a programwithin M0 can differ from the parameters of that program within eitherone of M1, M2 or M3. In such a case the hubs can perform ND re-mappingand/or frequency alterations.

Stage 330 can follow stage 310 or at least partially overlap stage 310.Stage 330 includes considering a removal of at least one program fromthe multiplex in response to program viewing parameters. The programviewing parameters can reflect the amount of users that view eachprogram, a removal priority of the program, the program type, anexpectation to view a new program and the like.

The amount of users that view a program can be estimated by the tuningparameters (such as carrier frequency and/or PID) of the user devices,by active messages that indicate that the user devices are still active,by user viewing information (such as received instructions) reflectingthat the user view the program. In order to evaluate the status (active,idle) of a user device and in order to estimate whether the user views aprogram method 300 includes optional stages such as stages 380 and 390.

Stage 330 is followed by stage 340 of allowing at least one user torespond to the consideration. Conveniently, stage 340 includes sendingprogram removal indication to at least one user device and waiting toreceive at least one user program removal response.

The waiting stage can be limited to a waiting period. At the end of thewaiting period any received program removal responses are evaluated inorder to determine whether to perform the program removal of not. Thedetermination is usually also responsive to additional parameters suchas available bandwidth, requests to add a program, an expectation that acertain program will be requested, programs removal priority, and thelike.

Stage 340 is followed by stage 350 of determining whether to remove theat least one program in response to received user removal responses. Itis noted that the determination can be responsive to a scenario in whichno program removal response was received.

Stage 350 is followed by stage 310, if no replacement is required. Else,stage 350 is followed by stage 360 of replacing at least one programthat belonged to the pervious multiplex by a new program.

Stage 360 conveniently includes at least one of the following stages:(i) altering a type of at least one frame of a program adjacent to anaddition of that program to the multiplex, and (ii) generating multipleversions of a certain program, wherein different versions of the certainprogram are time shifted from each other, selecting one version out ofthe multiple versions to add to the multiplex; wherein the selection isresponsive to a timing of the adding.

Stage 360 is followed by stage 370 of transmitting content information.Stage 370 is followed by stage 310.

As illustrated by stage 380, method 300 also includes repetitivelychecking a status of multiple user devices. Conveniently, the checkingincludes determining whether active messages were received from the userdevice.

As illustrated by stage 390, method 300 includes receiving user viewingpattern information representative of user viewing related operations.The user viewing pattern information reflects a timing of at least oneuser viewing related operation.

FIG. 13 illustrates a method 400 for receiving programs, according to anembodiment of the invention.

Method 400 starts by stage 410 of receiving a program multiplex.

Stage 410 is followed by stage 420 of receiving a program removalindication.

Stage 420 is followed by stage 430 of selectively transmitting a programremoval response.

Method 400 also includes various optional stages (such as stages 440 and450) that allow another entity, such as a hub or a headend, to evaluatethe status of the user device and whether the user views the programsthat are selected by the user device.

Stage 440 includes transmitting active messages indicating that the userdevice is active. Stage 450 includes generating user viewing patterninformation representative of user viewing related operations.Conveniently, the user viewing pattern information reflects a timing ofat least one user viewing related operation.

Method 400 further includes stage 460 of responding to a user request toswitch between programs.

Stage 460 can include determining whether the program is alreadyprovided to the user device. If not, the user device can generate arequest to add a program to the program multiplex.

The determination can be responsive to content information. The contentinformation can have many forms and can be received during one ormultiple reception sessions. A user device can determine the content ofa program multiplex in response to an initial content informationmessage and in response to one or more differential content informationthat were received during later content information reception sessions.

For example, assuming that at T0 the user device received contentinformation that indicates that multiplex M1 includes programs 1-K101-109, and that at T3 is receives differential content information 131that indicates that the second program 102 is replaced by program R 110then the user device is aware that after the removal M1 includes thefirst program 101, program R, and third till K'th programs 103-109. Ifthe user request to receive a program that is not included within M1(such as program Q) is can transmit a request to receive program Q.

If, for example, the user wishes to switch to the K'th program 109 thenthe switching does not involve sending a request to receive a newprogram and the user device tunes to the new program, by using theprogram parameters (such as frequency, ND and modulation type) includedwithin the content information.

Variations, modifications, and other implementations of what isdescribed herein will occur to those of ordinary skill in the artwithout departing from the spirit and the scope of the invention asclaimed. Accordingly, the invention is to be defined not by thepreceding illustrative description but instead by the spirit and scopeof the following claims.

What is claimed is:
 1. A method for conserving resources associated withpacket television services comprising: receiving television content froma content provider over a packet network; providing the televisioncontent to a television monitor for display to a viewer; determining ifa resource conserving process should be activated, wherein the resourceconserving process determines if an action to conserve resourcesassociated with transporting the television content over the packetnetwork should be performed; if the resource conserving process shouldbe activated: determining whether the viewer is watching the televisionmonitor; and initiating the action to conserve resources associated withtransporting the television content over the packet network upondetermining that the viewer is not watching the television monitor,wherein initiating the action to conserve resources comprises sendinginstructions to the content provider to halt delivery of a video portionof the television content, wherein the television content deliveredafter sending the instructions does not comprise the video portion; ifthe resource conserving process should not be activated: continueproviding the television content.
 2. The method of claim 1 furthercomprising monitoring viewing indicia bearing on the television monitorbeing watched and applying the viewing indicia to resource savingcriteria to determine whether the viewer is watching the televisionmonitor.
 3. The method of claim 2 further comprising receiving viewerinput and wherein the viewing indicia comprise viewer input.
 4. Themethod of claim 3 further comprising: monitoring the viewer input overtime; determining viewer behavior based on the viewer input over time;and generating the resource saving criteria based on the viewerbehavior, wherein the viewer input over time is used to learn the viewerbehavior from which the resource saving criteria is generated.
 5. Themethod of claim 2 wherein the resource saving criteria is based at leastin part on preferences defined by the viewer.
 6. The method of claim 2wherein the viewing indicia bears on a status of a user device.
 7. Themethod of claim 1 wherein determining whether the viewer is watching thetelevision monitor comprises determining a status of a user device, andinitiating the action to conserve resources after detecting that thestatus of the user device is idle.
 8. The method of claim 1 furthercomprising providing an alert for display on the television monitor inassociation with initiating the action to conserve resources.
 9. Themethod of claim 1 wherein initiating the action to conserve resourcescomprises sending instructions to the content provider to stop deliveryof the television content, wherein delivery of the television content isstopped.
 10. The method of claim 1 wherein initiating the action toconserve resources further comprises providing local content to thetelevision monitor for display to the viewer.
 11. The method of claim 1wherein determining if the resource conserving process should beactivated is based on a programming type for a program delivered via thetelevision content.
 12. The method of claim 1 wherein determining if theresource conserving process should be activated is based on viewerpreferences.
 13. The method of claim 1 wherein determining if theresource conserving process should be activated is based on at least oneof a time, date, and length of a program delivered via the televisioncontent.
 14. The method of claim 1 wherein determining if the resourceconserving process should be activated is based on a program beingdelivered via the television content.
 15. An apparatus for conservingresources associated with packet television services comprising: a firstinterface adapted to receive television content from a content providerover a packet network; a second interface adapted to provide thetelevision content to a television monitor for display to a viewer; anda control system associated with the first and second interfaces andadapted to: determine if a resource conserving process should beactivated, wherein the resource conserving process determines if anaction to conserve resources associated with transporting the televisioncontent over the packet network should be performed; if the resourceconserving process should be activated: determine whether the viewer iswatching the television monitor; and initiate the action to conserveresources associated with transporting the television content over thepacket network upon determining that the viewer is not watching thetelevision monitor, wherein initiating the action to conserve resourcescomprises sending instructions to the content provider to halt deliveryof a video portion of the television content, wherein the televisioncontent delivered after sending the instructions does not comprise thevideo portion; if the resource conserving process should not beactivated: allow for continued providing of the television content. 16.The apparatus of claim 15 further comprising a user interface associatedwith the control system, which is adapted to determine whether theviewer is watching the television monitor based on viewer activitydetected at the user interface.
 17. The apparatus of claim 15 wherein todetermine whether the viewer is watching the television monitor, thecontrol system is further adapted to determine a status of user devices,and initiate the action to conserve resources after detecting the statusof the user devices.